package org.jeecg.modules.zhouAdmin.help.controller;

import com.alibaba.fastjson.JSONObject;
import org.jeecg.modules.zhouAdmin.help.pojo.MlccStandardTestinfo;
import org.jeecg.modules.zhouAdmin.help.service.IExpoetService;
import org.jeecg.modules.zhoupackage.pojo.MlccButtonsInfo;
import org.jeecg.modules.zhoupackage.pojo.MlccDilinniInfo;
import org.jeecg.modules.zhoupackage.pojo.MlccFabricInfo;
import org.jeecg.modules.zhoupackage.pojo.MlccMaterialLibuInfo;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;
import java.util.List;

@RestController
@RequestMapping("/importfu")
public class ImportExcelControoller {

    @Autowired
    IExpoetService service;

    /**
     * 导入标准尺码
     *
     * @param file       文件
     * @param categoryId 类别id
     * @throws Exception
     */
    @RequestMapping("/importsize")
    public JSONObject importsize(MultipartFile file, String categoryId) throws Exception {
        JSONObject jsonObject = new JSONObject();
        ImportParams params = new ImportParams();
        //表格标题所在行，计数从0开始
        params.setTitleRows(1);
        //head头部所在行，计数从0开始
        params.setHeadRows(1);
        //表格sheet数量
        //params.setSheetNum(9);
        // 最好不要设置为true，否则导入一次excel服务器会重启一次，原因不明
        //params.setNeedSave(true);
        InputStream inputStream = file.getInputStream();
        List<MlccStandardTestinfo> list = ExcelImportUtil.importExcel(inputStream, MlccStandardTestinfo.class, params);
        int result = service.importExcel(list, categoryId);
        if (result > 0) {
            jsonObject.put("code", 0);
            jsonObject.put("msg", "导入成功");
        } else {
            jsonObject.put("code", 500);
            jsonObject.put("message", "导入失败");
        }
        return jsonObject;
    }

    /**
     * 导入里布
     *
     * @param file       文件
     * @param categoryId 类别id
     * @throws Exception
     */
    @RequestMapping("/importlibu")
    public JSONObject importlibu(MultipartFile file, String categoryId) throws Exception {
        JSONObject jsonObject = new JSONObject();
        ImportParams params = new ImportParams();
        //表格标题所在行，计数从0开始
        params.setTitleRows(1);
        //head头部所在行，计数从0开始
        params.setHeadRows(1);
        //表格sheet数量
        //params.setSheetNum(9);
        // 最好不要设置为true，否则导入一次excel服务器会重启一次，原因不明
        //params.setNeedSave(true);
        InputStream inputStream = file.getInputStream();
        List<MlccMaterialLibuInfo> list = ExcelImportUtil.importExcel(inputStream, MlccMaterialLibuInfo.class, params);
        int result = service.importlibu(list, categoryId);
        if (result > 0) {
            jsonObject.put("code", 0);
            jsonObject.put("msg", "导入成功");
        } else {
            jsonObject.put("code", 500);
            jsonObject.put("message", "请不要导入不存在的里布");
        }
        return jsonObject;
    }

    /**
     * 导入低领尼
     *
     * @param file       文件
     * @param categoryId 类别id
     * @throws Exception
     */
    @RequestMapping("/importdi")
    public JSONObject importdi(MultipartFile file, String categoryId) throws Exception {
        JSONObject jsonObject = new JSONObject();
        ImportParams params = new ImportParams();
        //表格标题所在行，计数从0开始
        params.setTitleRows(1);
        //head头部所在行，计数从0开始
        params.setHeadRows(1);
        //表格sheet数量
        //params.setSheetNum(9);
        // 最好不要设置为true，否则导入一次excel服务器会重启一次，原因不明
        //params.setNeedSave(true);
        InputStream inputStream = file.getInputStream();
        List<MlccDilinniInfo> list = ExcelImportUtil.importExcel(inputStream, MlccDilinniInfo.class, params);
        int result = service.importdi(list, categoryId);
        if (result > 0) {
            jsonObject.put("code", 0);
            jsonObject.put("msg", "导入成功");
        } else {
            jsonObject.put("code", 500);
            jsonObject.put("message", "请不要导入不存在的底领呢");
        }
        return jsonObject;
    }

    /**
     * 导入纽扣
     *
     * @param file       文件
     * @param categoryId 类别id
     * @throws Exception
     */
    @RequestMapping("/importbutton")
    public JSONObject importbutton(MultipartFile file, String categoryId) throws Exception {
        JSONObject jsonObject = new JSONObject();
        ImportParams params = new ImportParams();
        //表格标题所在行，计数从0开始
        params.setTitleRows(1);
        //head头部所在行，计数从0开始
        params.setHeadRows(1);
        //表格sheet数量
        //params.setSheetNum(9);
        // 最好不要设置为true，否则导入一次excel服务器会重启一次，原因不明
        //params.setNeedSave(true);
        InputStream inputStream = file.getInputStream();
        List<MlccButtonsInfo> list = ExcelImportUtil.importExcel(inputStream, MlccButtonsInfo.class, params);
        int result = service.importbutton(list, categoryId);
        if (result > 0) {
            jsonObject.put("code", 0);
            jsonObject.put("msg", "导入成功");
        } else {
            jsonObject.put("code", 500);
            jsonObject.put("message", "请不要导入不存在的纽扣");
        }
        return jsonObject;
    }
}
